//
//  FTYImageZoomIn.m
//  RedWine
//
//  Created by Liufangfang on 2017/6/5.
//  Copyright © 2017年 HuiBangKe. All rights reserved.
//

#import "FTYImageZoomIn.h"

static

CGRect oldframe;

@implementation FTYImageZoomIn

+ (void)zoomInImage:(UIImageView *)avatarImageView{
    
    UIImage *image=avatarImageView.image;
    
    UIWindow *window=[UIApplication sharedApplication].keyWindow;
    
    UIView *backgroundView=[[UIView alloc]initWithFrame:CGRectMake(0,
                                                                   0,
                                                                   [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
    
    oldframe=[avatarImageView convertRect:avatarImageView.bounds toView:window];
    
    backgroundView.backgroundColor=[UIColor blackColor];
    
    backgroundView.alpha=0;
    
    UIImageView *imageView=[[UIImageView alloc]initWithFrame:oldframe];
    
    imageView.image=image;
    
    imageView.tag=1;
    
    [backgroundView addSubview:imageView];
    
    [window addSubview:backgroundView];
    
    
    
    UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideImage:)];
    
    [backgroundView addGestureRecognizer: tap];
    
    
    [UIView animateWithDuration:0.3 animations:^{
        
        CGSize screenSize = [UIScreen mainScreen].bounds.size;
        CGSize imageSize = image.size;
        CGFloat widthScale = screenSize.width/imageSize.width;
        imageView.frame=CGRectMake(0,
                                   (screenSize.height-imageSize.height*widthScale)/2,
                                   screenSize.width,
                                   imageSize.height*widthScale);
        
        backgroundView.alpha=1;
        
    } completion:^(BOOL finished) {
        
        
    }];
}

+ (void)hideImage:(UITapGestureRecognizer*)tap{
    
    UIView *backgroundView=tap.view;
    
    UIImageView *imageView=(UIImageView*)[tap.view viewWithTag:1];
    
    [UIView animateWithDuration:0.3 animations:^{
        
        imageView.frame=oldframe;
        
        backgroundView.alpha=0;
        
    } completion:^(BOOL finished) {
        
        [backgroundView removeFromSuperview];
        
    }];
}

@end
